<?php

namespace view;

require_once ('src/View/CreateDate.php');
require_once ('src/View/CreateLoginStatus.php');
require_once ('src/View/CreateLoginMessage.php');
 
class ApplicationView {


	/**
	 * @param array $loginData
	 * @param \model\LoginModel $loginModel
	 * @param \view\LoginView $loginView
	 * @var $loginStatus
	 * @var $loginMessage
	 * @var $dateString
	 * @var $formUsername
	 * @var $formPassword
	 * @var $formStayLogedIn
	 * @var $userName 
	 * @var string $outputHeader
	 * @var string $outputForm
	 * @var string $outputFooter
	 * @var string $output
	 * @return string html
	 */
	
	/**
	 * denna funktionen hämtar ut inloggningsuppgifterna och 
	 * sparar ner dem i lite variabler. Sedan görs en kontroll på 
	 * om användaren får logga in eller ej.
	 */
	
	// här tar man emot $userData Arrayen från controllen men nu heter den $loginData
	// innehållet i $userData Arrayen fylls nu in i $loginData.
	public function doOutput ($loginData, \model\LoginModel $loginModel, \view\LoginView $loginView){		
	
		$createLoginStatus = new \view\CreateLoginStatus();
		$createLoginMessage = new \view\CreateLoginMessage();
		$date = new \view\Date(); 		//här hämtar vi ut vår korrekta datum-sträng från Date-vyn		 
		 
		$loginStatus = $createLoginStatus->returnLoginStatus($loginData);		
		$loginMessage =$createLoginMessage->returnLoginMessage($loginData, $loginModel);
		$dateString = $date->getCorrectDate();
				 
		$formUsername = $loginView->returnFormUsername();
		$formPassword = $loginView->returnFormPassword();
		$formStayLogedIn = $loginView->returnFormStayLogedIn();
		$logoutURL = $loginView->returnFormLogoutURL();
				 
		$userName = $loginModel->userCredentials->returnValidUsername();
		
				
		//här specar vi hur den första delen på sidan ska se ut
		$outputHeader="<!DOCTYPE HTML>
							<head>
								<title>Layla</title> 
									<meta charset='utf-8'/>
							</head>
								<body>
									<h1>Laborationskod xx222aa</h1>";			
				
		//här specar vi hur formuläret ska se ut
		$outputForm="			<form action='?login' method='post'>
									<fieldset>
										<legend>Login - Skriv användarnamn och lösenord</legend>
											<p>$loginStatus</p>
											<label for='username'>Namn:</label>
												<input type='text' name='$formUsername' value='$userName'/>										
											<label for='password'>Lösenord:</label>				
												<input type='password' name='$formPassword' value=''/>
											<label for='rememberPassword'>Håll mig inloggad:</label>	
												<input type='checkbox' name='$formStayLogedIn' value='1'/>
											<input type='submit' name='Submit' value='Logga in'>
									</fieldset>
								</form>";		
			
		//Här är den avslutande delen på sidan	och datum skrivs ut med hjälp at variable $dateString
		$outputFooter="	$dateString
									<hr>
								</body>
						</html>";			
						
		//här kollar vi om en man gjort en lyckad inloggning och visar en unik sida för det. //kolla i modelen för array lista
		if ($loginModel->isLogedIn()){
			$output= $outputHeader."<h2>".$userName." är inloggad</h2>".$loginMessage."<p><a href='?$logoutURL'>Logga ut</a></p>".$outputFooter;
				return $output;				//Här är min logga ut länk. -->?logout skrivs ut i Url.
		} else {											//man skriver ? före logout för kunna hitta rätt i php annars blir det vanlig html länk.hittar inte sidan då
			$output= $outputHeader."<h2>Ej Inloggad!</h2>".$outputForm.$outputFooter;
				//vyn retunerat tillbaka till controllen sickar med innehållet i variablen $output 
				//och innehållet fylls i $returnOutput som finns i controllen.
				return $output;
		  }

	}	
	
}
